home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d13 / prindir5.arc / PRINDIR.DOC < prev    next >
Text File  |  1990-10-04  |  42KB  |  925 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                                     TABLE OF CONTENTS
  8.                
  9.           Introduction and Foreword .................................. page 2
  10.           Shareware Notice ........................................... page 2
  11.           Disclaimer ................................................. page 3
  12.           Registration Form .......................................... page 4
  13.           PRINDIR History ............................................ page 5
  14.           Development Tools .......................................... page 5
  15.            
  16.           I.   PRINDIR PROGRAM USE AND OPTIONS
  17.            
  18.                     Installing PRINDIR .............................. page 6
  19.                          /s option (conventional memory) ............ page 6
  20.                          /c option (color video memory) ............. page 6
  21.                          /m option (mono video memory) .............. page 6
  22.                          /o option (user set memory address) ........ page 6
  23.                          /a option (expanded memory) ................ page 6
  24.                          /e option (extended memory) ................ page 6
  25.                     Unloading PRINDIR ............................... page 7
  26.                     PRINDIR Hotkey Commands ......................... page 7
  27.                          Printer Redirection ........................ page 7
  28.                          Screen Redirection ......................... page 8
  29.                          File Redirection ........................... page 8
  30.                          Other Commands ............................. page 8
  31.                     The PRINDIR Status Indicator .................... page 8
  32.            
  33.           II.  PSETUP PROGRAM USE AND OPTIONS
  34.            
  35.                PSETUP Overview ...................................... page 9
  36.                Other Buffer Segment, Offset, and Size ............... page 9
  37.                Standard Memory Buffers .............................. page 9
  38.                Video Memory Buffers ................................. page 9
  39.                Printer to Redirect .................................. page 9
  40.                Disk for Redirection Files ........................... page 9
  41.                Initial Redirection .................................. page 10
  42.                System Interrupt Hook ................................ page 10
  43.                Using A Ram Disk ..................................... page 10
  44.                Disk Drive Dump Value ................................ page 10
  45.                Indicator Display Settings ........................... page 10
  46.                Pass All To Printer .................................. page 11
  47.                Resident Memory Requirements ......................... page 11
  48.                     
  49.           III. PRINMEM PROGRAM INFORMATION
  50.            
  51.                Running the PRINMEM Program .......................... page 11
  52.                Using The PRINMEM Information ........................ page 11
  53.                A Word of Caution About Custom Buffers ............... page 11
  54.           IV.  PRINMOD PROGRAM INFORMATION
  55.            
  56.                Program Purpose ...................................... page 12
  57.                Program Command Line Parameters ...................... page 12
  58.                Notes For Programmers ................................ page 13
  59.                Final Notes and Where to Get HELP! ................... page 14
  60.                Troubleshooting ...................................... page 14
  61.  
  62.  
  63.  
  64.                     PRINDIR Redirection Program Documentation Page - 1
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.           INTRODUCTION:
  74.            
  75.                Version 5.00 represents a milestone in the history of this
  76.           program.  A majority of the code has been rewritten to make it better,
  77.           smaller, and faster.  While the code changed, the program logic has
  78.           remained virtually the same.  The documentation you are now reading
  79.           was completely rewritten to include an index, and a logical
  80.           organization of the information you need to use PRINDIR to its fullest
  81.           potential.  It seemed like the next logical step in the ongoing
  82.           development of this program.
  83.            
  84.                My original goal was to create the best possible printer
  85.           redirection program possible, while keeping safety and functionality
  86.           in mind.  Many of the options you see in PRINDIR today were
  87.           implemented at the request of users of the system.  I believe you will
  88.           agree once you have used the program, that PRINDIR is looking better
  89.           than ever, and I hope it proves to be one of the most useful utilities
  90.           you have in your possession.  It brings me great pleasure to present
  91.           to you PRINDIR Version 5.00.
  92.            
  93.           SHAREWARE NOTICE:
  94.            
  95.                The PRINDIR system, comprised of PRINDIR, PSETUP, PRINMOD,
  96.           PRINMEM, and this documentation, are all Copyright (c) 1989-1990 J.M.
  97.           Allen Creations.  All Rights Reserved by Michael A. Hotz.  This
  98.           program is NOT public domain, it is, however, released using the
  99.           Shareware concept.  I invite you to use my software on a trial basis.
  100.           If after 30 days, you find that this is an indispensable addition to
  101.           you utility entourage, I ask that you pay for this program by sending
  102.           a $10.00 registration fee to the author by using the registration form
  103.           included on the next page.  I keep an ongoing database of users, all
  104.           of whom are notified when major enhancements are made to the program.
  105.           There are no perks associated with registration, other than your
  106.           having a clear conscience, knowing you have not stolen this software,
  107.           but rather paid a very modest fee for the continued legal use of
  108.           PRINDIR.
  109.            
  110.                This program may be freely distributed for others evaluation as
  111.           long as no fee is charged, with the exception of modest disk, shipping
  112.           and handling charges.  Any person who uses this product agrees to the
  113.           terms of the Shareware, Copyright, and Disclaimer notices contained
  114.           herein.  If this system is distributed, all files must be contained in
  115.           an archive of some sort.  None of the file names, extensions, dates,
  116.           or times should be changed by any person.  No other files may be
  117.           included in the archive other than those expressly included by J.M.
  118.           Allen Creations as part of the PRINDIR system.  You MAY NOT
  119.           disassemble, reverse engineer, hack, change, modify, alter, mutate,
  120.           refashion, vary, or catalyze any of these programs or documentation in
  121.           any way, manner shape or form.
  122.            
  123.            
  124.            
  125.            
  126.            
  127.  
  128.  
  129.  
  130.                     PRINDIR Redirection Program Documentation Page - 2
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.           DISCLAIMER:
  140.            
  141.                Michael A. Hotz, nor J.M. Allen Creations, nor any person or
  142.           entity affiliated with either, will assume any responsibility for any
  143.           situation which occurs as a result, be it direct, or indirect, of the
  144.           use of any of these programs.  THE USER ASSUMES ALL RISK WHICH MAY BE
  145.           INVOLVED THROUGH THE USE OF THESE PROGRAMS.  There are no warrantees
  146.           whatsoever, expressed or implied, as to the usefulness or
  147.           effectiveness of this system for any particular purpose.  This
  148.           software is sold as is, and is not guaranteed to work on any
  149.           particular machine, or any particular hardware configuration.  All of
  150.           the programs have been tested on my hardware to perform as described
  151.           in this documentation.
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                     PRINDIR Redirection Program Documentation Page - 3
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.                      PRINDIR Version 5.00 Official Registration Form
  206.            
  207.           Please mail this form, along with your $10.00 for each copy of PRINDIR
  208.           you wish to register to:
  209.            
  210.           Compuserve Mail - 72200,1312                 J.M. Allen Creations
  211.                                                        Attn: Michael A. Hotz
  212.           GEnie Mail      - MAHOTZ                     2107 Hayes Avenue
  213.                                                        Fremont, Ohio  43420
  214.                                                        Phone: (419)332-8484
  215.            
  216.            
  217.           Please make any check or money orders payable to Michael A. Hotz.
  218.                                                        
  219.            
  220.           Name ____________________________________________________________
  221.            
  222.           Title ________________________________________________________________
  223.            
  224.           Company Name _________________________________________________________
  225.            
  226.           Address ______________________________________________________________
  227.            
  228.           City _____________________     State ___________     Zip _____________
  229.            
  230.           Daytime Phone _______________________     Fax ________________________
  231.            
  232.           Compuserve Mail ____________________     GEnie Mail __________________
  233.            
  234.           Total Enclosed _____________ to register __________ copies of PRINDIR
  235.            
  236.            
  237.           Comments:
  238.            
  239.           ______________________________________________________________________
  240.            
  241.           ______________________________________________________________________
  242.            
  243.           ______________________________________________________________________
  244.            
  245.            
  246.           Other Software You Would Like To See:
  247.            
  248.           ______________________________________________________________________
  249.            
  250.           ______________________________________________________________________
  251.            
  252.           ______________________________________________________________________
  253.            
  254.           Thank you in advance for registering your copy of PRINDIR!  You will
  255.           be notified of any product enhancements, or new product releases which
  256.           may apply to your interests as stated above.
  257.            
  258.            
  259.  
  260.  
  261.  
  262.                     PRINDIR Redirection Program Documentation Page - 4
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.           PRINDIR HISTORY:
  272.            
  273.                This program was originally released on November 29, 1989.
  274.            
  275.                Version 2.0 was released on January 10, 1990.  Version two fixed
  276.           some minor bugs in the interrupt handlers, and incorporated a time
  277.           delay on the status display.  The biggest improvement was the addition
  278.           of the setup program which allows modification of the buffer sizes and
  279.           locations.
  280.            
  281.                Version 2.5, released on April 16, 1990, fixed a bug that caused
  282.           some computers to indicate the printer was not responding when PRINDIR
  283.           was installed, and no printer was connected.  This version also fixes
  284.           a bug that would cause the timer that controlled the status display to
  285.           act erroneously.  The status display was toggled by the scroll lock
  286.           key.
  287.            
  288.                Version 3.0, released on May 30, 1990, fixed some problems that
  289.           were encountered in version 2.5 shortly after it's release.  The
  290.           problems occurred with the way PRINDIR handled itself behind the back
  291.           of DOS.  Support was added to specify the printer for redirection.
  292.            
  293.                Version 3.5, released on June 13, 1990, introduced the full
  294.           screen setup program, many more user adjustable parameters, better
  295.           implementation of disk redirection through RAM drive support, an on
  296.           screen disk buffer bye counter, the PRINMEM utility, and other code
  297.           changes.
  298.            
  299.                Version 4.00 released on July 25, 1990 fixes a bug that would
  300.           cause problems when filling the standard memory buffer to its maximum
  301.           size.  Support for expanded and extended memory, and more adjustable
  302.           items were added to the PSETUP program.
  303.            
  304.                Version 4.01, released on August 27, 1990, fixes a bug that may
  305.           cause the program to slow down from excessive buffer flushing.
  306.            
  307.                Version 5.00, released on October 4, 1990, includes a complete
  308.           overhaul of the code.  Many new items were added, and old items were
  309.           implemented better.  Extended memory use has been improved.  The
  310.           system provides a utility to change resident parameters from the
  311.           command line.  Also, the program provides a user interrupt interface
  312.           which can easily be used to change resident program parameters.
  313.           Printers may now be redirected to other printers, and PRINDIR will
  314.           automatically flush it's disk buffer to the redirection file before
  315.           releasing.
  316.            
  317.           DEVELOPMENT TOOLS:
  318.            
  319.                PRINDIR was originally developed using Borland Turbo C version
  320.           2.0.  After the program was operating properly, it was entirely re-
  321.           written using Borland's Turbo Assembler version 1.00 and version 2.00
  322.           in Ideal Mode.  De-bugging was accomplished using Borland's incredible
  323.           Turbo Debugger versions 1.0, and 2.0.  Technical information needed
  324.           for manipulation of the operating system was obtained from the DOS
  325.  
  326.  
  327.  
  328.                     PRINDIR Redirection Program Documentation Page - 5
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.           Programmers Reference 1st and 2nd Edition by Terry Dettmann, published
  338.           by QUE Corporation.
  339.            
  340.                PSETUP, PRINMEM, and PRINMOD were developed using Borland Turbo C
  341.           version 2.0 and Borland Turbo C++ version 1.00
  342.            
  343.                All programs were developed under MS-DOS 3.30 and 4.01
  344.            
  345.                Turbo C, Turbo Assembler, and Turbo Debugger are registered
  346.           trademarks of Borland International, Inc.  MS-DOS is a registered
  347.           trademark of Microsoft Corporation.
  348.            
  349.           INSTALLING PRINDIR:
  350.            
  351.                PRINDIR should be installed on a system using version 2.0 of DOS
  352.           or greater.  It should be installed at the command line, or in a batch
  353.           file, but should not be installed while you are shelled to DOS from
  354.           inside another program.  You must argument one of six parameters to
  355.           PRINDIR when you install.  These parameters allow you to tell PRINDIR
  356.           where in memory to place the buffer it uses when redirecting to a disk
  357.           file.  Please note all the following are case insensitive.
  358.            
  359.                PRINDIR /s - This will install the program and set aside memory
  360.           at the end of the program for the disk buffer.  The amount it saves
  361.           can be modified in the PSETUP program.  Using this option will cause
  362.           PRINDIR to keep more conventional memory than any other option.
  363.            
  364.                PRINDIR /c - This will install the program and instruct it to use
  365.           your extra color video memory starting at address B900:0000 for the
  366.           disk buffer.  The buffer will start on page two of your video ram.
  367.           The amount PRINDIR uses can be modified in the PSETUP program.
  368.            
  369.                PRINDIR /m - This will install the program and instruct it to use
  370.           your extra monochrome video memory starting at address B100:0000 for
  371.           the disk buffer.  Many mono adapters have only 1 page of video ram,
  372.           however, some have more.  If yours only has 1 page, you may not be
  373.           able to use this option.  The amount PRINDIR uses can be modified in
  374.           the PSETUP program.
  375.            
  376.                PRINDIR /o - This will install the program and utilize a disk
  377.           redirection buffer with the size and at the address you specify in
  378.           PSETUP.  You must use this option carefully, as it is possible to
  379.           overwrite virtually any portion of the lower 1mb address space.  See
  380.           the section on PRINMEM for further information.
  381.            
  382.                PRINDIR /a - This will install the program and allocate 64k of
  383.           expanded memory for the disk redirection buffer.  If you have less
  384.           than 64k of expanded memory free, or you don't have expanded memory,
  385.           the program will issue an error.  Please note that PRINDIR has been
  386.           tested to work successfully with EMS emulators, and true EMS memory.
  387.            
  388.                PRINDIR /e - This will install the program and allocate 64k of
  389.           extended memory for the disk redirection buffer.  PRINDIR will take
  390.           its extended memory from the highest address available, and return the
  391.  
  392.  
  393.  
  394.                     PRINDIR Redirection Program Documentation Page - 6
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.           amount it finds minus the 64k it uses to any other program that
  404.           requests extended memory information via BIOS interrupt 15h function
  405.           88h.  PRINDIR does not require an extended memory or XMS manager be
  406.           installed, and compatibility with systems where an XMS manager is used
  407.           may be a problem.  Personally, I feel that extended memory use is
  408.           fairly simple, and if all programs would take from the top of extended
  409.           memory, and return the remainder free, there would be no reason for
  410.           any XMS drivers which simply waste conventional memory
  411.            
  412.           UNLOADING OR RELEASING PRINDIR:
  413.            
  414.           To unload PRINDIR, simply run the program from the command line or a
  415.           batch file after it has been installed, and the program will be
  416.           released.  If one of the interrupts PRINDIR takes over while it is
  417.           installed is changed while it is resident, PRINDIR will not be able to
  418.           unload until the affected interrupt is restored.  If PRINDIR cannot
  419.           unload safely, it will display a message to this effect and remain
  420.           resident.  At this point you may want to unload the offending program,
  421.           and attempt to release PRINDIR again.  Any data in the disk buffer
  422.           will be written before release.
  423.            
  424.           PRINDIR HOTKEY COMMANDS:
  425.            
  426.                First of all, I will tell you that for simplicity and code size
  427.           reasons, you cannot change the hotkey combinations PRINDIR recognizes.
  428.           You can however, turn off PRINDIR key recognition with the scroll lock
  429.           key.  When scroll lock is off, PRINDIR will check all keystrokes, and
  430.           if it senses one that controls PRINDIR, it will intercept, perform the
  431.           correct action, and return without passing the keystroke onto the
  432.           system.  If scroll lock is on, then PRINDIR will ignore all
  433.           keystrokes.  This will prevent problems in applications which use the
  434.           same key combinations as PRINDIR.
  435.            
  436.                The input to PRINDIR is whatever may be printed to the printer it
  437.           has been installed to intercept.  Output is this same data, however
  438.           the output destination can be specified as detailed below:
  439.            
  440.           PRINTER REDIRECTION:
  441.            
  442.           L-SHIFT  ALT + P  -  This key combination will cause PRINDIR to allow
  443.           all output to pass through untouched, as if PRINDIR was not installed.
  444.            
  445.           L-SHIFT ALT + 1  -  This key combination will cause PRINDIR to send
  446.           all output to printer number 1 (LPT1).
  447.            
  448.           L-SHIFT ALT + 2  -  This key combination will cause PRINDIR to send
  449.           all output to printer number 2 (LPT2).
  450.            
  451.           L-SHIFT ALT + 3  -  This key combination will cause PRINDIR to send
  452.           all output to printer number 3 (LPT3).
  453.            
  454.            
  455.            
  456.            
  457.  
  458.  
  459.  
  460.                     PRINDIR Redirection Program Documentation Page - 7
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.           SCREEN REDIRECTION:
  470.            
  471.           L-SHIFT ALT + S  -  This key combination will cause PRINDIR to send
  472.           all output to the video display, or screen.
  473.            
  474.           FILE REDIRECTION:
  475.            
  476.           L-SHIFT ALT + F  -  This key combination will cause PRINDIR to send
  477.           all output to a disk file in the root directory of the drive specified
  478.           in PSETUP.  You can change the name of this output file with then next
  479.           hotkey command.
  480.            
  481.           L-SHIFT ALT + N  -  This key combination will cause PRINDIR to
  482.           increment the file name specifier by one character.  The output file
  483.           name starts as PRINDIRA.DAT, and after PRINDIRZ.DAT, it returns to A.
  484.           This will allow you to printer different reports or data to different
  485.           files.  The file name letter will not be affected if current
  486.           redirection is not to a file.  Also, the file name will not change
  487.           until PRINDIR has emptied its buffer.  The indicator will flash, if it
  488.           is enabled, indicating a write is pending.
  489.            
  490.           L-SHIFT ALT + W  -  Normally, PRINDIR will flush the disk file buffer
  491.           only when it accumulates the number of bytes specified in the Disk
  492.           Drive Dump Value of the PSETUP program.  You may, however, wish to
  493.           write the disk file early, when less than this amount is available.
  494.           You may use this key combination to tell PRINDIR to write the buffer
  495.           to disk as soon as it is safe.  The indicator will flash, if it is
  496.           enabled, indicating a write is pending.
  497.            
  498.            
  499.            
  500.           OTHER COMMANDS:
  501.            
  502.           L-SHIFT ALT + D  -  This will toggle the on screen status indicator
  503.           display which shows the current destination for output, the number of
  504.           bytes in the buffer, and the status of PRINDIR.
  505.            
  506.           L-SHIFT ALT + C  -  This will cause the display to be cleared.  This
  507.           may be useful before viewing printer output redirected to the screen.
  508.            
  509.           PRINDIR STATUS INDICATOR DISPLAY:
  510.            
  511.                The PRINDIR status indicator is very useful in indicating the
  512.           current destination of redirection, how many bytes are in the disk
  513.           buffer, as well as the current file name, and the status of file
  514.           redirection.  You may toggle the display of this item.  The indicator
  515.           will appear stable when there are no write requests or file name
  516.           increments pending.  If the indicator appears flashing for more than a
  517.           few seconds, you may be running a program which doesn't allow PRINDIR
  518.           to write to the disk file often enough.  You may be able to increase
  519.           buffer size if you are exceeding the capacity of the program, or you
  520.           may be able to set up a RAM drive as the drive for redirection files.
  521.           See the section on Using A RAM DISK later in this documentation for
  522.           further information.
  523.  
  524.  
  525.  
  526.                     PRINDIR Redirection Program Documentation Page - 8
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.            
  536.                The status indicator should display properly on any standard
  537.           video display in alphanumeric mode.  You may change its colors and
  538.           location using the PSETUP program.  The status display will not work
  539.           when the system is in graphics modes, however, it will always detect
  540.           the current text mode video page.
  541.            
  542.           PSETUP OVERVIEW:
  543.            
  544.                The PSETUP program will allow you to change many of the PRINDIR
  545.           program parameters.  I decided using a separate program would be the
  546.           simplest way to implement these options.
  547.            
  548.           OTHER BUFFER PARAMETERS:
  549.            
  550.                The Other Buffer Segment and Offset allow you to specify a
  551.           portion of memory to use for the redirection buffer.  Other Buffer
  552.           Size allows you to tell PRINDIR how much memory at the specified
  553.           address is available.  In my system, I have an extra 64k of memory I
  554.           have installed at D000:0000.  Most other programs can't use it for
  555.           anything, however, with the other buffer options, I can put it to good
  556.           use.  If you have chunks of memory in your machine that aren't used,
  557.           you may be able to configure PRINDIR to use them.  You can use the
  558.           PRINMEM program which was included with this system to search for
  559.           unused memory in your system.  Please see the notes under the PRINMEM
  560.           program in this document for further information before attempting
  561.           strange buffer configurations.
  562.            
  563.           STANDARD MEMORY BUFFERS:
  564.            
  565.                Standard Buffer Size specifies how much conventional memory to
  566.           reserve for the disk redirection buffer.
  567.            
  568.           VIDEO MEMORY BUFFERS:
  569.            
  570.                Color Buffer Size specifies how much video RAM you have available
  571.           starting at address B900:0000, or page two of your video display
  572.           memory.  Mono Buffer Size specifies how much video RAM you have
  573.           available starting at address B100:0000, or page two of your
  574.           monochrome display memory.  If you install PRINDIR using either video
  575.           buffer, any program that uses graphics modes, or multiple video pages
  576.           in alphanumeric modes will cause major conflict with PRINDIR.  If you
  577.           have problems, stay away from these two items.
  578.            
  579.           PRINTER TO REDIRECT:
  580.            
  581.                You can tell PRINDIR which printer you want to intercept and
  582.           redirect with this setting.
  583.            
  584.           DISK FOR REDIRECTION FILES:
  585.            
  586.                PRINDIR will place redirection files in the root directory of the
  587.           disk you specify here.  I recommend using a hard disk if possible.  If
  588.           you are having problems with programs that won't let PRINDIR write to
  589.  
  590.  
  591.  
  592.                     PRINDIR Redirection Program Documentation Page - 9
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.           a disk file, you may want to use a RAM DISK here.  See Using a RAM
  602.           DISK below for more information.
  603.            
  604.           INITIAL REDIRECTION:
  605.            
  606.                You can use this item to set the initial redirection destination
  607.           of PRINDIR.  This is useful if you run PRINDIR on a system without a
  608.           printer, and you often to forget to hotkey the output to a valid
  609.           destination before printing.
  610.            
  611.           SYSTEM INTERRUPT HOOK:
  612.            
  613.                You can use this item to select which interrupt PRINDIR is
  614.           installed on.  Unless you are running into an interrupt conflict with
  615.           another program, you should leave this set at its default value.
  616.            
  617.           USING A RAM DISK:
  618.            
  619.                Under certain circumstances, and with certain programs, PRINDIR
  620.           may have trouble writing to a disk file during redirection to a file
  621.           because it detects DOS is in a less the very stable state.  This means
  622.           your buffer may fill before you are done printing.  If you have
  623.           already maxed the buffer size, and are still having problems, you can
  624.           set this flag to yes.  If you do this, make sure the drive you specify
  625.           in DISK FOR REDIRECTION points to a true ram disk, or you will more
  626.           than likely crash.  When this flag is set to yes, PRINDIR will relax
  627.           its checking, and provide more opportunities for the data to be
  628.           written, many more than can be safely provided using a mechanical
  629.           disk.  All other aspects of the program will work the same, however,
  630.           PRINDIR will be able to write to the ram disk more often than to any
  631.           other type of drive.
  632.            
  633.           DISK DRIVE DUMP VALUE:
  634.            
  635.                This value specifies how many bytes of data must accumulate in
  636.           the redirection buffer before PRINDIR will attempt to write the data
  637.           to a disk file.  This prevents PRINDIR from slowing down the system by
  638.           writing to often, and can be modified to the setting which provides
  639.           the best performance in as little memory as possible.  PRINDIR will
  640.           wait until there are at least this many or more bytes in the buffer
  641.           before writing to disk.  You should always leave this a few kilobytes
  642.           lower than the size of your buffer to give PRINDIR time to react to
  643.           the trip point before the buffer fills.  If you don't have a reason to
  644.           change it, you may want to leave this item alone.
  645.            
  646.            
  647.           INDICATOR DISPLAY SETTINGS:
  648.            
  649.                These items are fairly self explanatory.  You can specify the
  650.           screen position and color for the PRINDIR indicator.  Unless you have
  651.           some type of conflict with the current position, you are best off to
  652.           leave this alone also.
  653.            
  654.            
  655.  
  656.  
  657.  
  658.                    PRINDIR Redirection Program Documentation Page - 10
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.           PASS ALL TO PRINTER:
  668.            
  669.                This item will allow you to print redirect printer output to the
  670.           printer PRINDIR is installed on, while redirecting to a disk file or
  671.           the screen.  You can ONLY pass all to printer while you are printing
  672.           to a disk file, or the screen.
  673.            
  674.           RESIDENT MEMORY REQUIREMENTS:
  675.            
  676.                In it's smallest state, PRINDIR takes only 2928 bytes of memory
  677.           to do its job.  This DOES NOT include the environment memory which is
  678.           allocated for every program you run.  The amount of environment memory
  679.           used by any program is dependent on how much data you have in your
  680.           environment.  The PATH and PROMPT settings are all kept in environment
  681.           variables.  You may see your environment at any time by entering SET
  682.           alone on the command line.
  683.            
  684.                When I refer to smallest state, I am speaking about PRINDIR
  685.           installed using the Other Buffer Option, or one of the Video Memory
  686.           Buffer configurations.  If PRINDIR is installed for expanded or
  687.           extended memory, it will require 1k extra (3952 bytes) because it
  688.           keeps a small transfer buffer at the end of the resident code to speed
  689.           up expanded and extended memory access.  If you install in
  690.           conventional memory, PRINDIR requires the 2928 bytes, plus whatever
  691.           you specify in the Standard Buffer Size setting in PSETUP.
  692.            
  693.           RUNNING THE PRINMEM PROGRAM:
  694.            
  695.                You run PRINMEM from the command line with no arguments.  It will
  696.           then go on to test every location in memory above 640k and below 1mb
  697.           to find areas of active memory.  It will do this in a nondestructive
  698.           manner, and will then report to you what it finds.
  699.            
  700.           USING THE PRINMEM INFORMATION:
  701.            
  702.                You should now evaluate the information the PRINMEM program has
  703.           provided for you.  The first area of extra memory you would see on
  704.           standard systems is probably B000:000 if you are using monochrome, or
  705.           B800:0000 if you are using a color video display.  If you discover
  706.           memory at A000:0000, it may be dedicated to the video display, a
  707.           network adapter, expanded memory board, or other add-on card.  This is
  708.           not to say you shouldn't use it, however, in any case, you should
  709.           check through all of your documentation before using any areas you
  710.           don't know about.  If you find a chunk at C000:0000, D000:0000, or
  711.           E000:0000 that is exactly 64k in size, and you know you have expanded
  712.           memory installed, then you have more than likely discovered where your
  713.           EMS board keeps it's page frame.
  714.            
  715.           A WORD OF CAUTION ABOUT CUSTOM BUFFERS:
  716.            
  717.                Obviously you don't want to buffer printer output on top of data
  718.           in memory that is crucial to other program, so use the custom buffer
  719.           option with respect.  You should try to make certain the area you find
  720.           is not being used for any other major purpose.  In particular, you
  721.  
  722.  
  723.  
  724.                    PRINDIR Redirection Program Documentation Page - 11
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.           don't want to, purposely or inadvertently, specify the address of an
  734.           expanded memory board in the Other Buffer parameters.  You may write
  735.           over another programs data, and worse, if you are using DOS 4.01 or
  736.           greater and have your buffers line in your config.sys file putting
  737.           them in expanded memory, you could write over data that is being
  738.           written to disk, and really mess things up.  Unless you have a good
  739.           idea of how memory, and your system and installed cards work, and
  740.           where in memory they may be located, you will probably want to stick
  741.           with one of the other buffer configurations.  PLEASE REMEMBER THAT THE
  742.           DEFAULT VALUE FOR OTHER BUFFER WILL NOT WORK IF YOU DO NOT HAVE "LIVE"
  743.           MEMORY AT D000:0000.  YOU WILL GET GARBAGE IN YOUR FILE IF THIS
  744.           ADDRESS POINTS TO AN ADDRESS WITH NO MEMORY!
  745.            
  746.           THE PRINMOD PROGRAM PURPOSE:
  747.            
  748.                One of the newest things to version 5.00 of PRINDIR is a separate
  749.           program to support changing resident PRINDIR parameters from batch
  750.           files, or at the command line, or even from within other programs.
  751.           PRINMOD will allow you to do this easily.  You simply run PRINMOD from
  752.           the command line, in a batch file, or even from within another program
  753.           with the proper arguments.  The first argument is the interrupt number
  754.           in hex that PRINDIR is installed on.  Unless you have changed this
  755.           value in PSETUP, it should be 7A.  DO NOT use a slash for the
  756.           interrupt number argument.  The next argument should be from the list
  757.           of examples below:
  758.            
  759.           PRINMOD PROGRAM COMMAND LINE PARAMETERS:
  760.            
  761.                prinmod 7a /prn     - Set destination to intercepted printer.
  762.                prinmod 7a /lpt?    - Set destination to printer 1, 2, or 3 (?)
  763.                prinmod 7a /scr     - Set destination to the screen
  764.                prinmod 7a /fil     - Set destination to a disk file
  765.                prinmod 7a /nam?    - Change file name specifier to ? or
  766.                                      increment if ? = 0.
  767.            
  768.                prinmod 7a /dump    - Force PRINDIR to flush its buffer ASAP
  769.                prinmod 7a /vidon   - Turn on the status indicator display
  770.                prinmod 7a /vidoff  - Turn off the status indicator display
  771.            
  772.           If you argument an invalid interrupt, or the proper version PRINDIR is
  773.           not installed on that interrupt, the program will display an error
  774.           message.  Please remember that versions of PRINDIR prior to version
  775.           5.00 do not support the functions provided by PRINMOD!
  776.            
  777.            
  778.            
  779.            
  780.            
  781.            
  782.            
  783.            
  784.            
  785.            
  786.            
  787.  
  788.  
  789.  
  790.                    PRINDIR Redirection Program Documentation Page - 12
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.           NOTES FOR PROGRAMMERS:
  800.            
  801.                You may easily incorporate support for changing resident PRINDIR
  802.           settings in your software through the interrupt PRINDIR is installed
  803.           on.  You can accomplish this through standard software interrupt calls
  804.           to PRINDIR.  You simply put the desired command in the specified
  805.           registers, and issue the software interrupt PRINDIR is installed on:
  806.            
  807.                AH = 00h     -      Set output to PRN
  808.                AH = 01h     -      Set output to LPT-1
  809.                AH = 02h     -      Set output to LPT-2
  810.                AH = 03h     -      Set output to LPT-3
  811.                AH = 04h     -      Set output to SCR
  812.                AH = 05h     -      Set output to FIL-?
  813.                AH = 06h     -      Change File Name (AL = New Character A - Z)
  814.                AH = 07h     -      Set Buffer Flush Flag
  815.                AH = 08h     -      Video Toggle (AH = 1, on   AH = 2, off)
  816.            
  817.           Before issuing any of these commands, you should insure a proper
  818.           version of PRINDIR is installed.  You can do this by first obtaining
  819.           the interrupt vector PRINDIR is installed on using DOS int 21h
  820.           function 35h, or with a compatible function in your high level
  821.           language.  If you add two to the offset of the vector, you should be
  822.           able to read the null terminated string PRINMOD.  If the interrupt
  823.           vector for PRINDIR points to 3C85:08B0, then you should be able to
  824.           find PRINMOD at 3C85:08B2.  Again, this is a null terminated string,
  825.           so the C string functions will work correctly, however, make sure you
  826.           understand which memory model you are in, and what type of pointers
  827.           you are dealing with, NEAR or FAR!!!!  A pointer to this address would
  828.           obviously be a FAR pointer!
  829.            
  830.                If you do not find PRINMOD, then PRINDIR is not installed, or a
  831.           version older than 5.00 is resident.  In either case, if you do not
  832.           find PRINMOD, then you should not attempt these function calls, as the
  833.           system will probably hang.
  834.            
  835.                Finally, once you have determined through the method listed above
  836.           that a compatible version of PRINDIR is loaded, you may call these
  837.           functions as listed above.  They do not return errors, however, if you
  838.           call them properly, PRINDIR should respond as you wish.  If you
  839.           specify an invalid function number in AH (ie: greater than 08h)
  840.           PRINDIR will simply ignore it.
  841.            
  842.            
  843.            
  844.            
  845.            
  846.            
  847.            
  848.            
  849.            
  850.            
  851.            
  852.            
  853.  
  854.  
  855.  
  856.                    PRINDIR Redirection Program Documentation Page - 13
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.           FINAL NOTES AND WHERE TO GET HELP:
  866.            
  867.                I have put a great deal of work into this system, and I believe
  868.           PRINDIR is one of the best, safest, most versatile, and most reliable
  869.           programs of this nature that is available.  If, however, you are
  870.           experiencing any problems, please don't hesitate to contact me.  I
  871.           answer all customer support questions personally, and would be glad to
  872.           help you with any problems you may be having.
  873.            
  874.                You may contact me at my office from 9:00 a.m. until 5:00 p.m
  875.           Monday through Friday at (419) 332-8484.  Please ask specifically for
  876.           me. After hours and on weekends, you may call (419) 262-8322.  This is
  877.           a private mobile phone, and if it is not answered, will forward to a
  878.           voice mailbox which I check at least daily.  If you leave a message on
  879.           here, I will usually get back to you the same day.  You may also send
  880.           me Compuserve Mail at USER ID: 72200,1312 or GEnie Mail at MAHOTZ.  I
  881.           also check these daily.  Many of the features in PRINDIR have been
  882.           added at the request of other users.  If you have ideas, suggestions,
  883.           questions, comments, or criticism, please contact me so a solution can
  884.           be worked out.
  885.            
  886.           TROUBLESHOOTING:
  887.            
  888.                If you are having problems with PRINDIR, check the following
  889.           things first.
  890.            
  891.                Make sure you don't have a buffer conflict.  If you are using the
  892.           Other Buffer options, make sure the parameters in PSETUP point to a
  893.           live area of memory.
  894.            
  895.                If you are using video buffers, make sure you aren't running a
  896.           program that uses multiple display pages, uses graphics modes, or
  897.           other types of video manipulation.
  898.            
  899.                Make sure the Disk is Ram Drive option in PSETUP is NO unless you
  900.           are using a ram disk.
  901.            
  902.                If you are having trouble with PRINMOD or using the interrupt
  903.           functions, make sure you know which interrupt PRINDIR is installed on.
  904.           Make sure you delete all previous versions of PRINDIR and accompanying
  905.           files from your disks.
  906.            
  907.                If you are having other types of problems, you may want to change
  908.           the order you load your resident software.  Although PRINDIR isn't
  909.           pick about where it is in the chain, other programs may have or
  910.           generate conflicts of their own.
  911.            
  912.                If you still have trouble and can't get things going, be sure you
  913.           have some basic info before you contact me, such as what type of
  914.           system you are using, what buffer configuration you are using, what
  915.           types of programs you have resident, what programs you are using, and
  916.           when the problems occur.  With this information I can generally
  917.           determine what the problem is, and find a way to get PRINDIR to work
  918.           for you!
  919.  
  920.  
  921.  
  922.                    PRINDIR Redirection Program Documentation Page - 14
  923.  
  924.  
  925.